package cn.tedu.csmall.cart.webapi.service.impl;

import cn.tedu.csmall.cart.service.ICartService;
import cn.tedu.csmall.cart.webapi.mapper.CartMapper;
import cn.tedu.csmall.commons.pojo.cart.dto.CartAddDTO;
import cn.tedu.csmall.commons.pojo.cart.model.Cart;
import lombok.extern.slf4j.Slf4j;
import org.apache.dubbo.config.annotation.DubboService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

// @DubboService注解,标记的业务逻辑层实现类,其中的所有方法都会注册到Nacos
// 在其他服务启动"订阅"后,就会"发现"当前类中的所有服务,随时可以调用
@DubboService
@Service
@Slf4j
public class CartServiceImpl implements ICartService {
    @Autowired
    private CartMapper cartMapper;
    @Override
    public void cartAdd(CartAddDTO cartAddDTO){
        Cart cart=new Cart();
        BeanUtils.copyProperties(cartAddDTO,cart);//把cartAddDTO中的对象赋值到cart中
        int row=cartMapper.insertCart(cart);
        log.info("新增购物车商品完成!:{}",cart);
    }
    @Override
    public void deleteUserCart(String userId,String commodityCode){
        cartMapper.deleteCartByUserIdAndCommodityCode(userId,commodityCode);
        //日志输出
        log.info("购物车删除完成!");
    }
}
